﻿''' <summary>
''' Clase cargas sociales
''' </summary>
''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
''' Ultima modificación: 21/06/2010</remarks>
Public Class CargasSociales

    Private m_porcentCCSS As Double
    Private m_porcentTrab As Double
    Private m_otrosPat As Double
    Private m_otrosTrab As Double

    ''' <summary>
    ''' Constructor de cargas sociales
    ''' </summary>
    ''' <param name="p_porcentCCSS">Porcentaje CCSS</param>
    ''' <param name="p_porcentTrab">Porcentaje reducción al trabajador</param>
    ''' <param name="p_otrosPat">Otras deducciones al patrono</param>
    ''' <param name="p_otrosTrab">Otras deducciones al trabajador</param>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Sub New(ByVal p_porcentCCSS As Double, ByVal p_porcentTrab As Double, ByVal p_otrosPat As Double, ByVal p_otrosTrab As Double)
        porcentCCSS = p_porcentCCSS
        porcentTrab = p_porcentTrab
        otrosPatrono = p_otrosPat
        otrosTrabajador = p_otrosTrab

    End Sub

    ''' <summary>
    ''' Porcentaje de la CCSS
    ''' </summary>
    ''' <value>Porcentaje CCSS</value>
    ''' <returns>Porcentaje CCSS</returns>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Property porcentCCSS() As Double
        Get
            Return m_porcentCCSS
        End Get
        Set(ByVal p_porcentCCSS As Double)
            m_porcentCCSS = p_porcentCCSS
        End Set
    End Property

    ''' <summary>
    ''' Porcentaje reducción al trabajador
    ''' </summary>
    ''' <value>Porcentaje reducción al trabajador</value>
    ''' <returns>Porcentaje reducción al trabajador</returns>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Property porcentTrab() As Double
        Get
            Return m_porcentTrab
        End Get
        Set(ByVal p_porcentTrab As Double)
            m_porcentTrab = p_porcentTrab
        End Set
    End Property

    ''' <summary>
    ''' Otras deducciones al patrono
    ''' </summary>
    ''' <value>Otras deducciones al patrono</value>
    ''' <returns>Otras deducciones al patrono</returns>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Property otrosPatrono() As Double
        Get
            Return m_otrosPat
        End Get
        Set(ByVal p_otrosPat As Double)
            m_otrosPat = p_otrosPat
        End Set
    End Property

    ''' <summary>
    ''' Otras deducciones al trabajador
    ''' </summary>
    ''' <value>Otras deducciones al trabajador</value>
    ''' <returns>Otras deducciones al trabajador</returns>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Property otrosTrabajador() As Double
        Get
            Return m_otrosTrab
        End Get
        Set(ByVal p_otrosTrab As Double)
            m_otrosTrab = p_otrosTrab
        End Set
    End Property

    ''' <summary>
    ''' Convierte los datos en un hashtable
    ''' </summary>
    ''' <returns>Datos de la clase</returns>
    ''' <remarks>Creado por: David Murillo Fecha de Creación: 18/06/2010
    ''' Ultima modificación: 21/06/2010</remarks>
    Public Function toHashtable() As Hashtable

        Dim htCargaSocial As New Hashtable

        htCargaSocial.Add("ccssPatrono", porcentCCSS)
        htCargaSocial.Add("ccssTrabajador", porcentTrab)
        htCargaSocial.Add("otrosPatrono", otrosPatrono)
        htCargaSocial.Add("otrosTrab", otrosTrabajador)

        Return htCargaSocial

    End Function
End Class